package uem;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Scanner;

public class ejercicio7leer {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		File fichero = new File(".\\src\\uem\\ficheros\\AleatorioEmple.dat");
		try {
			RandomAccessFile file = new RandomAccessFile(fichero, "r");

			// Creamos la variables para leer los datos
			int id, dep, posicion;
			Double salario, salarionuevo;
			char nombre[] = new char[10], aux;

			// Declaramos el Scanner para el id
			System.out.println("Introduce identificacion del empleado: ");
			Scanner reader = new Scanner(System.in);
		
			String texto = reader.nextLine();
			
			//Declaramos el scanner para el salario
			
			System.out.println("Introduce salario del empleado: ");
			Scanner reader2 = new Scanner(System.in);
			salarionuevo = reader2.nextDouble();
			
			int identificador = Integer.parseInt(texto); // este es el
															// identificador
															// que le pasamos el
															// numero de
															// empleado

			posicion = (identificador - 1) * 36; // Para situar al principio
			// recorremos los arrays
			try {
				try {
					file.seek(posicion); // nos posicionamos
					id = file.readInt(); // leemos el id de empleado
					for (int i = 0; i < nombre.length; i++) {
						aux = file.readChar(); // Recorremos uno a uno los
												// caracteres del apellido
						if ((int) aux != 0)
							nombre[i] = aux;
						else
							nombre[i] = ' '; // lo vamos guardando en el array

					}

					String nombreS = new String(nombre); // COnvertimos a string
															// el
															// array
					dep = file.readInt(); // Obtenemos el departamento
					salario = file.readDouble(); // obtenemos el salario
					System.out.println("ID: " + id + ", Apellido: " + nombreS
							+ "," + "Departamento: " + dep + ", Salario: "
							+ salario);
					
					posicion += 28;
					file.seek(posicion);
					file.writeDouble(salarionuevo);

				} catch (IOException io) {
					System.out.println("Io exception 1");
				}

				file.close(); // cerramos el fichero
			} catch (IOException io) {
				System.out.println("Io exception 2");
			}
		} catch (FileNotFoundException fnfe) {
			System.out.println("Excepcion no se encuentra el archivo ");
		}
	}
}
